package com.deer.wms.base.system.service;

import com.deer.wms.base.system.model.Supplier.SupplierManage;
import com.deer.wms.base.system.model.Supplier.SupplierManageCriteria;
import com.deer.wms.base.system.model.Supplier.SupplierManageDto;
import com.deer.wms.project.root.service.SuperService;

import java.util.List;
import java.util.Map;


/**
 * @author guo
 * @since 2019/11/21
 */
public interface SupplierManageService extends SuperService<SupplierManage> {

    /**
     * 按照criteria条件查询
     *
     * @param criteria criteria
     * @return List<SupplierManageDto>
     */
    List<SupplierManageDto> findList(SupplierManageCriteria criteria);

    /**
     * 根据供应商编码查询
     *
     * @param supplierCode 供应商编码
     * @return List<SupplierManageDto>
     */
    List<SupplierManageDto> findByCode(String supplierCode);

    /**
     * 根据供应商名称查询
     *
     * @param supplierName 供应商名称
     * @return List<SupplierManageDto>
     */
    List<SupplierManageDto> findByName(String supplierName);

    /**
     * 根据供应商编码删除
     *
     * @param supplierCode 供应商编码
     */
    void deleteBySupplierCode(String supplierCode);

    /**
     * 按照某字段信息查询
     *
     * @param field 字段名
     * @param value 值
     * @return SupplierManage
     */
    SupplierManage findBy(String field, String value);


    /**
     * 清空供应商数据
     */
    void clear();

    /**
     * 往来单位查询
     * @param hashMap 条件
     * @return
     */
    List<SupplierManage> addSupplierManager(Map<String, Object> hashMap);

    /**
     * 往来单位添加修改
     * @param hashMap
     */
    void saveSupplierManager(Map<String, Object> hashMap);
}
